package com.example.jianzhioffer;

/**
 * Created by Quincy on 2018/9/13.
 * 求数组Top N 问题
 */
public class MaxList {

    /**
     * 其实就是排序后，取后面N个数
     * */

    public static void  getMaxList(int[] arr, int n){
        if (arr.length < n || arr == null ) return;
        for (int i = 0; i < arr.length; i++){
            int e = arr[i];//用于存储被比较的元素
            int j;
            for ( j = i; j > 0; j--){
                //插入排序，前面比当前所比较值小的数组肯定是已经排好序的，当遇到比它小的数时，就不需要再比较前面剩下的元素
                if (arr[j - 1] > e)
                    arr[j] = arr[j - 1]; //只需要往前挪，不需要交换
                else break;
            }
            arr[j] = e;

        }
        for (int i = arr.length - 1; i >= arr.length - n; i++){
            System.out.print(arr[i] + "\t");
        }
    }


}
